"""
MakerPlayer.py

Author: Zach Epolito
Date: 9-22-08
"""

from MakerStrategy import MakerStrategy
from HumanMakerStrategy import HumanMakerStrategy

"""Imitates a Maker player and has a reference to
   the different maker strategies.
"""
class MakerPlayer(object):

    #types of strategies
    HUMAN = 0

    """Constructor. Sets which strategy is being used.
    Only human strategy is currently available.
    """
    def __init__(self, stratType):
        self.setStrat(stratType)

    """Passes the GUI and controller functor to
       the correct strategy.
    """
    def getMove(self, contFunctor, GUI):
        self.strat.strategy(contFunctor, GUI)

    """Sets the strategy
    """
    def setStrat(self, stratType):
        if (stratType == self.HUMAN):
            self.strat = HumanMakerStrategy()
